// 目标：1.js 中 导入 2.js 执行
const data = myrequire('./2.js')
console.log('死鬼')
console.log(data)

// 自己实现 require函数
// 思路：
// 0.在函数内部 提前 声明 一个 module的变量
// 1.根据 路径 读取 文件内容
// 2.调用 eval 函数 执行 js代码
// 3.return 返回了 module.exports
function myrequire(filePath) {
    // 一.声明 module对象 --------------
    let module = {
        //....
        exports: {}
        //....
    }
    let exports = module.exports

    // 二.读取代码文件并执行-------------
    const path = require('path')
    // a.将 相对路径 转成 绝对路径
    filePath = path.join(__dirname, filePath)

    // b.导入 fs 模块
    const fs = require('fs')
    // c.调用 fs模块 读取文件
    const strCode = fs.readFileSync(filePath, 'utf-8')
    // d.调用 eval 函数 执行 js文件代码
    eval(strCode)

    // 三.返回 module.exports -----------
    return module.exports
}


module.exports = myrequire